Skip Headers

Pro*COBOL® Getting Started Release 9.2 for Microsoft Windows (32-Bit) Part Number A96113-03 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# 1 Introducing Pro*COBOL

This chapter describes the Oracle programmatic interface for the COBOL language running on Windows operating systems.

This chapter contains these topics:

- What is Pro*COBOL?

- Supported Compilers

- Features

- Restrictions

- Directory Structure

  See Also: Pro*COBOL Programmer's Guide for more information

## What is Pro*COBOL?

To access an Oracle database, you use a high-level query language called Structured Query Language (SQL). You often use SQL through an interactive interface, such as SQL*Plus.

Pro*COBOL is a programming tool that enables you to embed SQL statements in a COBOL program. The Pro*COBOL precompiler converts the SQL statements in the COBOL program into standard Oracle run-time library calls. The generated output file can then be compiled, linked, and run in the usual manner.

Use the Pro*COBOL precompiler when rapid development and compatibility with other systems are your priorities.

## Supported Compilers

Pro*COBOL supports the MERANT Micro Focus NetExpress version 3.1 for 32-bit Windows 2000.

Note: Pro*COBOL does not support Object Oriented COBOL (OOCOBOL) specifications.

## Features

Pro*COBOL supports the following:

- Oracle databases release 8.1.x and higher

- Embedded PL/SQL blocks

- Bundled database calls, which can provide better performance in client/server environments

- Full ANSI compliance for embedded SQL programming

- Calls to PL/SQL stored procedures

## Restrictions

Pro*COBOL does not support the following:

- User exits

- Access to the Oracle Call Interface

- Oracle object types

- Graphical user interface

- 16-bit code generation

## Directory Structure

When you install Pro*COBOL, Oracle Universal Installer creates a directory called `\precomp` in your `ORACLE_BASE\ORACLE_HOME` directory.

Note: The `\precomp` directory can contain files for other products, such as Pro*C/C++.

The `\precomp` directory contains the directories listed in Table 1-1.

Table 1-1 Directories

Directory Name | Contents
--- | ---
`\admin` | Configuration files
`\demo\procob2` | Sample programs for Pro*COBOL release 9.2.0
`\demo\sql` | SQL scripts for sample programs
`\doc\procob2` | Readme files for Pro*COBOL 9.2.0
`\lib` | Library files
`\mesg` | Message files
`\public` | Header files

### Header Files

The `ORACLE_BASE\ORACLE_HOME``\precomp\public` directory contains the Pro*COBOL header files listed in Table 1-2.

Table 1-2 Header Files

Header File | Description
--- | ---
`oraca.cob` | Contains the Oracle Communications Area (ORACA), which helps you to diagnose runtime errors and to monitor your program's use of various Oracle resources.
`oraca5.cob` | ORACA5 is the COMP-5 version of ORACA.
`sqlca.cob` | Contains the SQL Communications Area (SQLCA), which helps you to diagnose runtime errors. The SQLCA is updated after every executable SQL statement.
`sqlca5.cob` | SQLCA5 is the COMP-5 version of SQLCA.
`sqlda.cob` | Contains the SQL Descriptor Area (SQLDA), which is a data structure required for programs that use dynamic SQL Method 4.
`sqlda5.cob` | This is the COMP-5 version of SQLDA.

### Library File

The `ORACLE_BASE\ORACLE_HOME` `\precomp\lib` directory contains the library file that you use when linking Pro*COBOL applications. The library file is called `orasql9.lib`.

### Known Problems, Restrictions, and Workarounds

1. Although all Windows operating systems allow spaces in filenames and directory names, the Oracle Pro*C/C++ and Oracle Pro*COBOL precompilers will not precompile files that include spaces in the file name or directory name. For example, do not use the following formats:

   - `proc iname=test one.pc`

   - `proc iname=d:\dir1\second dir\sample1.pc`

2. Users running PROCOB application that are not linked using /LITLINK option and failing at runtime with the error,

       Load error: file 'ORASQL8'

   need to copy `orasql9.dll` to `orasql8.dll` in the same directory where `orasql9.dll` exists.